home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 August: Tool Chest / Dev.CD Aug 94.toast / New System Software Extensions / OpenDoc A6 / SOM / OpenDoc and SOM / C / LinkSpec.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-04-19  |  4.6 KB  |  183 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: Locrian:WWDCSun:C:LinkSpec.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: somc/smemit.c
  7.  *     SOM Emitter emith.dll: somc/smmain.c
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Theory of Operation
  13.  * 
  14.  * 
  15.  *  Classes defined in this interface
  16.  * 
  17.  */
  18.  
  19.  
  20. #ifndef SOM_ODLinkSpec_h
  21. #define SOM_ODLinkSpec_h
  22.  
  23.  
  24. #include <som.h>
  25.  
  26. /*
  27.  * -- This emitter treats Method Tokens as Thunks by default
  28.  * -- Use the sc modifier "nothunks" to change this default
  29.  */
  30. #undef somresolve_
  31. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  32.  
  33. /*
  34.  * Define the class name as an object type
  35.  */
  36. #ifndef ODLinkSpec
  37. #define ODLinkSpec SOMObject
  38. #endif
  39. #include <LinkSpcB.h>
  40.  
  41. /*
  42.  * Start of user-defined types:
  43.  */
  44. #ifndef ODExtension
  45.     #define ODExtension SOMObject
  46. #endif /* ODExtension */
  47. #ifndef ODStorageUnit
  48.     #define ODStorageUnit SOMObject
  49. #endif /* ODStorageUnit */
  50. #ifndef ODPart
  51.     #define ODPart SOMObject
  52. #endif /* ODPart */
  53. #ifndef ODDraft
  54.     #define ODDraft SOMObject
  55. #endif /* ODDraft */
  56.  
  57. /*
  58.  * End of user-defined types.
  59.  */
  60.  
  61. #define ODLinkSpec_MajorVersion 1
  62. #define ODLinkSpec_MinorVersion 0
  63.  
  64. /*
  65.  * External name shortening if required
  66.  */
  67. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  68. #define ODLinkSpecNewClass c
  69. #define ODLinkSpecClassData d
  70. #define ODLinkSpecCClassData x
  71. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  72. /*--------------Migration------------*/
  73. #define ODLinkSpec_classObj ODLinkSpecClassData.classObject
  74. #define _ODLinkSpec ODLinkSpec_classObj
  75.  
  76. /*
  77.  * Declare the class creation procedure
  78.  */
  79.  
  80. #if applec ^ PRAGMA_LIB_EXPORT
  81. #pragma lib_export on
  82. #endif
  83.  
  84. SOMEXTERN SOMClass * SOMLINK ODLinkSpecNewClass(integer4 somtmajorVersion,
  85.         integer4 somtminorVersion);
  86.  
  87. /*
  88.  * Declare the class data structure
  89.  */
  90. SOMEXTERN struct ODLinkSpecClassDataStructure {
  91.     SOMAny *classObject;
  92.     somMToken reserved1;
  93.     somMToken reserved2;
  94.     somMToken reserved3;
  95.     somMToken reserved4;
  96.     somMToken reserved5;
  97.     somMToken reserved6;
  98.     somMToken reserved7;
  99.     somMToken reserved8;
  100.     somMToken reserved9;
  101. }
  102. #ifdef SOM_NO_DATA_EXPORTS
  103.     * ODLinkSpecGetClassData ( void );
  104. #   undef ODLinkSpecClassData
  105. #   define ODLinkSpecClassData (*ODLinkSpecGetClassData())
  106. #else
  107.       ODLinkSpecClassData;
  108. #endif /* SOM_NO_DATA_EXPORTS */
  109.  
  110. #if applec ^ PRAGMA_LIB_EXPORT
  111. #pragma lib_export off
  112. #endif
  113.  
  114.  
  115. /*
  116.  * Declare the C specific class data structure
  117.  */
  118. SOMEXTERN struct ODLinkSpecCClassDataStructure {
  119.     somMethodTabs parentMtab;
  120.     somDToken instanceDataToken;
  121. } ODLinkSpecCClassData;
  122.  
  123. /*
  124.  * New and Renew macros for ODLinkSpec
  125.  */
  126. #define ODLinkSpecNew() \
  127.     ( ( ! (ODLinkSpecClassData.classObject) && \
  128.         (ODLinkSpecNewClass(ODLinkSpec_MajorVersion, ODLinkSpec_MinorVersion)) ), \
  129.       (_somNew(ODLinkSpecClassData.classObject)) )
  130. #define ODLinkSpecRenew(buf) \
  131.     ( _somRenew(ODLinkSpecClassData.classObject, buf) )
  132.  
  133. /*
  134.  * Override method: somInit
  135.  */
  136. #define ODLinkSpec_somInit(somSelf) \
  137.     SOMObject_somInit(somSelf)
  138.  
  139. /*
  140.  * Override method: somUninit
  141.  */
  142. #define ODLinkSpec_somUninit(somSelf) \
  143.     SOMObject_somUninit(somSelf)
  144.  
  145. /*
  146.  * Override method: WriteLinkSpec
  147.  */
  148. #define ODLinkSpec_WriteLinkSpec(somSelf,ev,su) \
  149.     ODBaseLinkSpec_WriteLinkSpec(somSelf,ev,su)
  150.  
  151. /*
  152.  * Override method: ReadLinkSpec
  153.  */
  154. #define ODLinkSpec_ReadLinkSpec(somSelf,ev,su) \
  155.     ODBaseLinkSpec_ReadLinkSpec(somSelf,ev,su)
  156. #ifndef SOM_DONT_USE_INHERITED_MACROS
  157. #define ODLinkSpec_InitObject ODObject_InitObject
  158. #define ODLinkSpec_IsInitialized ODObject_IsInitialized
  159. #define ODLinkSpec_HasExtension ODObject_HasExtension
  160. #define ODLinkSpec_GetExtension ODObject_GetExtension
  161. #define ODLinkSpec_ReleaseExtension ODObject_ReleaseExtension
  162. #define ODLinkSpec_Purge ODObject_Purge
  163. #define ODLinkSpec_SubClassResponsibility ODObject_SubClassResponsibility
  164. #define ODLinkSpec_somFree SOMObject_somFree
  165. #define ODLinkSpec_somGetClass SOMObject_somGetClass
  166. #define ODLinkSpec_somGetClassName SOMObject_somGetClassName
  167. #define ODLinkSpec_somGetSize SOMObject_somGetSize
  168. #define ODLinkSpec_somIsA SOMObject_somIsA
  169. #define ODLinkSpec_somIsInstanceOf SOMObject_somIsInstanceOf
  170. #define ODLinkSpec_somRespondsTo SOMObject_somRespondsTo
  171. #define ODLinkSpec_somDispatchV SOMObject_somDispatchV
  172. #define ODLinkSpec_somDispatchL SOMObject_somDispatchL
  173. #define ODLinkSpec_somDispatchA SOMObject_somDispatchA
  174. #define ODLinkSpec_somDispatchD SOMObject_somDispatchD
  175. #define ODLinkSpec_somDispatch SOMObject_somDispatch
  176. #define ODLinkSpec_somClassDispatch SOMObject_somClassDispatch
  177. #define ODLinkSpec_somPrintSelf SOMObject_somPrintSelf
  178. #define ODLinkSpec_somDumpSelf SOMObject_somDumpSelf
  179. #define ODLinkSpec_somDumpSelfInt SOMObject_somDumpSelfInt
  180. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  181.  
  182. #endif       /* SOM_ODLinkSpec_h */
  183.